/** 提示框 */
/**
 * @param {Object} option
 * @param {string} option.title 提示的内容
 * @param {string} option.icon 图标类型（"none", "error", "success"）
 * @param {string} option.image 自定义图标的本地路径
 * @param {boolean} option.mask 是否显示透明蒙层
 * @param {number} option.duration 提示的延迟时间（毫秒）
 */
const defaultOptions = {
  title: "警告",
  icon: "none",
  duration: 1500,
  mask: true,
};

class Toast {
  /** 默认无 icon */
  info(title, option = {}) {
    const config = { ...defaultOptions, title: title, ...option, icon: "none" };
    uni.showToast(config);
  }

  /** 错误提示 */
  error(title = "错误", option = {}) {
    const config = {
      ...defaultOptions,
      title: title,
      ...option,
      icon: "error",
    };
    uni.showToast(config);
  }

  /** 成功提示 */
  success(title, option = {}) {
    const config = {
      ...defaultOptions,
      title: title,
      ...option,
      icon: "success",
    };
    uni.showToast(config);
  }

  /** 自定义图标提示 */
  custom(title, option = {}, image) {
    const config = { ...defaultOptions, title: title, ...option, image };
    uni.showToast(config);
  }
}

export default new Toast();
